Line上可用的emojis有兩種一種是Unicode emojis,另一種是LINE emojis。
LINE emojis是line bot sdk python近期才更新,在回覆TextSendMessage()時可加上emojis參數傳送帶有LINE emoji屬性的訊息。可惜的是Message event獲得訊息在Android上還接收不到emoji參數,希望之後可以支援。
https://developers.line.biz/en/reference/messaging-api/#message-event
Android和IOS原生emojis,現在大多數網頁和APP中都能使用。
https://zh.wikipedia.org/wiki/%E7%B9%AA%E6%96%87%E5%AD%97
為LINE專屬的表情貼,預設就有上千款免費表情貼可以任意使用,與貼圖不同的地方是它可以單獨做為貼圖使用,也可以如Android和IOS原生emojis一樣跟文字訊息一起使用。
這邊一樣參考line bot sdk python
https://github.com/line/line-bot-sdk-python#textsendmessage-emoji
emoji = [
{
"index": 0,
"productId": "5ac1bfd5040ab15980c9b435",
"emojiId": "001"
},
{
"index": 13,
"productId": "5ac1bfd5040ab15980c9b435",
"emojiId": "002"
}
]
text_message = TextSendMessage(text='$ LINE emoji $', emojis=emoji)
index為emoji放置位置,index由0開始算0,1,2,3,...
放置位置文字會打上$,如果index位置不是$訊息回覆會報錯並被拒絕
LINE emojis的Product ID與emoji ID對照表
https://developers.line.biz/en/docs/messaging-api/emoji-list/#line-emoji-definitions
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
emoji = [
{
"index": 0,
"productId": "5ac21a8c040ab15980c9b43f",
"emojiId": "004"
},
{
"index": 1,
"productId": "5ac21a8c040ab15980c9b43f",
"emojiId": "001"
},
{
"index": 2,
"productId": "5ac21a8c040ab15980c9b43f",
"emojiId": "025"
},
]
if(event.message.text=="Day 07"):
message=TextSendMessage("Day 07 line bot sdk python範例程式在做什麼")
elif(event.message.text=="Day 08"):
message=TextSendMessage("Day 08讓Linebot回覆特定訊息")
elif(event.message.text=="Unicode emoji"):
message=TextSendMessage("\U0001F449Unicode emoji\U0001F448")
elif(event.message.text=="LINE emoji"):
message=TextSendMessage(text='$$$ 09 回覆emoji訊息', emojis=emoji)
else:
message=TextSendMessage(event.message.text)
print(event)
line_bot_api.reply_message(
event.reply_token,
message)
message=TextSendMessage("\U0001F449Unicode emoji\U0001F448")
可以在上方的Wiki連結上看到emoji Unicode對照表
?U+1F449 ?U+1F448
在程式中表現為\U0001F449與\U0001F448
def handle_message(event):
emoji = [
{
"index": 0,
"productId": "5ac21a8c040ab15980c9b43f",
"emojiId": "004"
},
{
"index": 1,
"productId": "5ac21a8c040ab15980c9b43f",
"emojiId": "001"
},
{
"index": 2,
"productId": "5ac21a8c040ab15980c9b43f",
"emojiId": "025"
},
]
message=TextSendMessage(text='$$$ 09 回覆emoji訊息', emojis=emoji)
這邊定好你要的LINE emoji跟位置
'$$$ 09 回覆emoji訊息'
參考:
https://developers.line.biz/en/docs/messaging-api/emoji-list
https://developers.line.biz/en/reference/messaging-api/#message-event
https://github.com/line/line-bot-sdk-python